
#if NETFX_CORE
using Windows.UI.Xaml;
#else
using System.Windows;
#endif


namespace Prometheus.Binding.ReadOnly
{
    /// <summary>
    /// Multibinding for bindings, that return boolean values
    /// </summary>
    public class proBooleansBinding : proMultiBinding
    {
        public proBooleansBinding() : this(null)
        {
        }

        public proBooleansBinding(string elementPropertyPath) : base(elementPropertyPath)
        {
            base.MultiConverter = new proBooleansMultiConverter();
        }

        protected new proBooleansMultiConverter MultiConverter
        {
            get { return (proBooleansMultiConverter) base.MultiConverter; }
        }


        public proBooleanOperatorType Operator
        {
            get { return MultiConverter.OperatorType; }
            set { MultiConverter.OperatorType = value; }
        }

        public bool DefaultValue
        {
            get { return MultiConverter.DefaultValue; }

            set { MultiConverter.DefaultValue = value; }
        }

        protected override string GetDefaultElementPropertyPath(FrameworkElement element)
        {
            return "Visibility";
        }
    }
}